#
# Makefile to build a TABLO-based executable
#
# Based on the ltg script provided in the GEMPACK source distribution
#

MODEL = LUC

#FGP   = ifort -module $(MOD)
FGP   = gfortran -O3 -J$(MOD) -fno-range-check -fno-underscoring

GP    = $(HOME)/gempack/gp11-unix
GPBIN = $(GP)/bin
GPLIB = $(GP)/lib
GPINC = $(GP)/inc
MOD   = ./modules

TABLO = $(GPBIN)/tablo

OBJS  = $(MODEL)mod.o $(MODEL).o
LIBS  = -lmod -lgpb -lgptg -lgpa -lmod -lgpb -lgptg -lgpa -ltbgdum -lmod -lgpb -lgptg -lgpa -lmod

INTERMEDIATES = $(MODEL).f *.for $(MODEL)mod.f $(MODEL).f9m $(MODEL).o $(MODEL)mod.o $(MOD)/*.mod tablo.log gp*.log wg*.LOG $(MODEL).min $(MODEL).inf optgf* optin* gfortran*.fig

GENERATED = $(INTERMEDIATES) $(MODEL) $(MODEL).axs $(MODEL).axt

all : modules $(MODEL)

$(MODEL) : $(MODEL)mod.o $(MODEL).o 
	$(FGP) -o $(MODEL) $(OBJS) -L$(GPLIB) $(LIBS)

$(MODEL)mod.f : $(MODEL).tab $(MODEL).sti
	$(TABLO) -sti $(MODEL).sti > tablo.log
	mv $(MODEL).f9m $(MODEL)mod.f

$(MODEL).f:
	@echo "Dummy target to create $(MODEL).f

modules:
	mkdir -p modules

clean:
	rm -f $(INTERMEDIATES)

cleanall:
	rm -f $(GENERATED)

%.o : %.f
	 $(FGP) -o $@ -w -c -I$(MOD) -I$(GPINC) $<
